#ifndef YIGATTRACTOR_H
#define YIGATTRACTOR_H

// System includes
#include <QPainter>
#include <QPainterPath>
#include <QPixmap>

/**
*   YigAttractor
*   Static class for creating strange attractor renders
*/
class YigAttractor
{
public:

    /** initializes the class variables */
    static void init();

    /**
    *   renderAttractor creates a new pixmap of the given dimensions and render a strange attractor in it
    *   @param int The width of the pixmap
    *   @param int The height of the pixmap
    */
    static QPixmap renderAttractor(int w, int h);

private:

    /** QPainterPath used internally to create the points of the attractor */
    static QPainterPath path;
    /** QPainter paints the actual attractor into the pixmap */
    static QPainter painter;
    static int frames;
    static int iters;
    static int skipIters;
    static double sensitivity;
};

#endif // YIGATTRACTOR_H
